package edu.cs335pl.questionnaire.pojo.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import java.util.Date;

@Data //有这个注解，默认set和get方法都会帮你自动写好
@NoArgsConstructor //有这个注解，默认的无参构造方法会自动写好
@AllArgsConstructor //有这个注解，有参构造方法会自动写好
@ApiModel(value="User实体类", description="")
public class User {
    @ApiModelProperty(value = "用户id")
    @TableId(type = IdType.AUTO) // IdType.INPUT id会自增
    private Long id;

    //以下部分你可以自己加字段

    @ApiModelProperty(value = "账号")
    private String account;
    @ApiModelProperty(value = "密码")
    private String password;
    @ApiModelProperty(value = "公司")
    private String company;
    @ApiModelProperty(value = "员工数量")
    private int employees;
    @ApiModelProperty(value = "地点")
    private String location;
    @ApiModelProperty(value = "联系人姓名")
    private String contact_name;
    @ApiModelProperty(value = "联系人岗位")
    private String contact_job;
    @ApiModelProperty(value = "联系人邮箱")
    private String contact_email;
    @ApiModelProperty(value = "联系人电话")
    private String contact_phone;
    @ApiModelProperty(value = "Business Sector")
    private String business_sector;


    //red=1 amber=10 green=100
    @ApiModelProperty(value = "Legal Compliance")
    private int legal_point;
    @ApiModelProperty(value = "Hours of Work and Leave")
    private int hours_point;
    @ApiModelProperty(value = "Policies & Practices")
    private int pp_point;
    @ApiModelProperty(value = "Employee Relations")
    private int er_point;
    @ApiModelProperty(value = "Performance Management")
    private int pm_point;
    @ApiModelProperty(value = "Training and Training")
    private int tt_point;
    @ApiModelProperty(value = "Recruitment & Retention")
    private int rr_point;
    @ApiModelProperty(value = "Change and Reorganisation")
    private int cr_point;
    @ApiModelProperty(value = "Pay and Benefits")
    private int pb_point;
    @ApiModelProperty(value = "Employee Communication & Engagement")
    private int ece_point;
    @ApiModelProperty(value = "Health and Safety")
    private int hs_point;
    @ApiModelProperty(value = "Covid Related")
    private int covid_point;
    @ApiModelProperty(value = "Employee Records and GDPR")
    private int erg_point;




    //以下别动，如果要存数据库的话
    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date gmt_create;

    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date gmt_modified;

    @ApiModelProperty(value = "乐观锁")
    @Version
    private Integer version;

    @ApiModelProperty(value = "逻辑删除")
    @TableLogic
    private Integer deleted;



}
